home *** CD-ROM | disk | FTP | other *** search
/ Workbench Add-On / Workbench Add-On - Volume 1.iso / Dev / Oberon / source / amiga / MathIEEEDoubTrans.mod < prev    next >
Text File  |  1995-06-29  |  3KB  |  137 lines

  1. (**************************************************************************
  2.  
  3.      $RCSfile: MathIEEEDoubTrans.mod $
  4.   Description: Interface to mathieeedoubtrans.library
  5.  
  6.    Created by: fjc (Frank Copeland)
  7.     $Revision: 3.8 $
  8.       $Author: fjc $
  9.         $Date: 1995/06/04 23:13:14 $
  10.  
  11.   Includes Release 40.15
  12.  
  13.   (C) Copyright 1985-1993 Commodore-Amiga, Inc.
  14.       All Rights Reserved
  15.  
  16.   Oberon-A interface Copyright © 1994-1995, Frank Copeland.
  17.   This file is part of the Oberon-A Interface.
  18.   See Oberon-A.doc for conditions of use and distribution.
  19.  
  20. ***************************************************************************)
  21.  
  22. <* STANDARD- *>
  23.  
  24. MODULE [2] MathIEEEDoubTrans;
  25.  
  26. (*
  27.   This module is not defined.  This is because the compiler cannot yet
  28.   handle the LONGREAL as an 8-byte IEEE double-precision real.
  29.   Have patience.
  30. *)
  31.  
  32. (*
  33. IMPORT SYS := SYSTEM, Kernel, e := Exec, m := MathLibrary;
  34.  
  35.  
  36. (*-- MathIEEEDoubTrans Base variable --------------------------------------*)
  37.  
  38. CONST
  39.  
  40.   mathIEEEDoubTransName * = "mathieeedoubtrans.library";
  41.  
  42. VAR
  43.  
  44.   base * : MathIEEEBasePtr;
  45.  
  46.  
  47. (*-- Library Functions ------------------------------------------------*)
  48.  
  49. PROCEDURE Atan* [base,-30]
  50.   ( parm [0] : e.DOUBLE )
  51.   : e.DOUBLE;
  52.  
  53. PROCEDURE Sin* [base,-36]
  54.   ( parm [0] : e.DOUBLE )
  55.   : e.DOUBLE;
  56.  
  57. PROCEDURE Cos* [base,-42]
  58.   ( parm [0] : e.DOUBLE )
  59.   : e.DOUBLE;
  60.  
  61. PROCEDURE Tan* [base,-48]
  62.   ( parm [0] : e.DOUBLE )
  63.   : e.DOUBLE;
  64.  
  65. PROCEDURE Sincos* [base,-54]
  66.   ( VAR cos[8] : e.DOUBLE;
  67.     parm [0]   : e.DOUBLE )
  68.    : e.DOUBLE;
  69.  
  70. PROCEDURE Sinh* [base,-60]
  71.   ( parm [0] : e.DOUBLE )
  72.   : e.DOUBLE;
  73.  
  74. PROCEDURE Cosh* [base,-66]
  75.   ( parm [0] : e.DOUBLE )
  76.   : e.DOUBLE;
  77.  
  78. PROCEDURE Tanh* [base,-72]
  79.   ( parm [0] : e.DOUBLE )
  80.   : e.DOUBLE;
  81.  
  82. PROCEDURE Exp* [base,-78]
  83.   ( parm [0] : e.DOUBLE )
  84.   : e.DOUBLE;
  85.  
  86. PROCEDURE Log* [base,-84]
  87.   ( parm [0] : e.DOUBLE )
  88.   : e.DOUBLE;
  89.  
  90. PROCEDURE Pow* [base,-90]
  91.   ( exp  [1] : e.DOUBLE;
  92.     parm [0] : e.DOUBLE )
  93.   : e.DOUBLE;
  94.  
  95. PROCEDURE Sqrt* [base,-96]
  96.   ( parm [0] : e.DOUBLE )
  97.   : e.DOUBLE;
  98.  
  99. PROCEDURE Tieee* [base,-102]
  100.   ( parm [0] : e.DOUBLE )
  101.   : e.SINGLE;
  102.  
  103. PROCEDURE Fieee* [base,-108]
  104.   ( parm [0] : e.SINGLE )
  105.   : e.DOUBLE;
  106.  
  107. PROCEDURE Asin* [base,-114]
  108.   ( parm [0] : e.DOUBLE )
  109.   : e.DOUBLE;
  110.  
  111. PROCEDURE Acos* [base,-120]
  112.   ( parm [0] : e.DOUBLE )
  113.   : e.DOUBLE;
  114.  
  115. PROCEDURE Log10* [base,-126]
  116.   ( parm [0] : e.DOUBLE )
  117.   : e.DOUBLE;
  118.  
  119. (*-- Library Base variable --------------------------------------------*)
  120.  
  121. <*$LongVars-*>
  122.  
  123. (*-----------------------------------*)
  124. PROCEDURE* [0] CloseLib (VAR rc : LONGINT);
  125.  
  126. BEGIN (* CloseLib *)
  127.   IF base # NIL THEN e.CloseLibrary (base) END
  128. END CloseLib;
  129.  
  130. BEGIN
  131.   base :=
  132.     SYS.VAL ( MathIEEEBasePtr, e.OpenLibrary (Name, e.libraryMinimum) );
  133.   IF base = NIL THEN HALT (100) END;
  134.   Kernel.SetCleanup (CloseLib)
  135. *)
  136. END MathIEEEDoubTrans.
  137.